import axios, { type AxiosInstance } from 'axios'

const service: AxiosInstance = axios.create({
  // 开发环境：baseURL 留空，通过相对路径触发代理
  // 生产环境：通过环境变量设置后端基地址
  baseURL: import.meta.env.MODE === 'development' ? '' : import.meta.env.VITE_API_BASE_URL,
  timeout: 5000,
})

// 统一添加请求前缀（需与 Vite 代理规则一致）
service.interceptors.request.use((config) => {
  if (import.meta.env.MODE === 'development') {
    // 开发环境：请求路径为 /api/test（由 Vite 代理）
    if (!config.url?.startsWith('/api')) {
      config.url = `/api${config.url}`
    }
  } else {
    // 生产环境：请求路径为 {VITE_API_BASE_URL}/test
    // 如果生产环境接口有统一前缀（如 /api），可在此添加
  }
  return config
})

export default service
